Skip to content

Conversation

AbhiPrasad
Copy link
Member

While trying to debug the tedious integration, I figured it would be nice to internals of the envelope item when receiving mismatched envelope items. This PR adds the the serialized envelope item to the error being thrown.

@AbhiPrasad AbhiPrasad requested a review from a team February 27, 2025 21:10
@AbhiPrasad AbhiPrasad self-assigned this Feb 27, 2025
@AbhiPrasad AbhiPrasad requested review from mydea and s1gr1d and removed request for a team February 27, 2025 21:10
@AbhiPrasad AbhiPrasad merged commit e9d2295 into develop Feb 27, 2025
35 checks passed
@AbhiPrasad AbhiPrasad deleted the abhi-better-envelope-logging-tedious branch February 27, 2025 22:02
@AbhiPrasad
Copy link
Member Author

Success!

https://github.com/getsentry/sentry-javascript/actions/runs/13575927930/job/37952099013?pr=15532

 FAIL  suites/tracing/tedious/test.ts > tedious auto instrumentation > should auto-instrument `tedious` package
Error: Expected envelope item type 'transaction' but got 'event'. 
Item: [{"type":"event"},{"exception":{"values":[{"type":"Error","value":"Login failed for user 'sa'.","stacktrace":{"frames":[{"filename":"node:internal/process/task_queues","module":"task_queues","function":"process.processTicksAndRejections","lineno":95,"colno":5,"in_app":false},{"filename":"node:internal/streams/from","module":"from","function":"next","lineno":98,"colno":31,"in_app":false},{"filename":"node:internal/streams/readable","module":"readable","function":"Readable.push","lineno":278,"colno":10,"in_app":false},{"filename":"node:internal/streams/readable","module":"readable","function":"readableAddChunk","lineno":341,"colno":9,"in_app":false},{"filename":"node:internal/streams/readable","module":"readable","function":"addChunk","lineno":368,"colno":12,"in_app":false},{"filename":"node:events","module":"node:events","function":"Readable.emit","lineno":517,"colno":28,"in_app":false},{"filename":"/home/runner/work/sentry-javascript/sentry-javascript/node_modules/tedious/lib/token/token-stream-parser.js","module":"tedious.lib.token:token-stream-parser","function":"Readable.?","lineno":19,"colno":33,"in_app":false,"pre_context":["  constructor(message, debug, handler, options) {","    super();","    this.debug = debug;","    this.options = options;","    this.parser = _stream.Readable.from(_streamParser.default.parseTokens(message, this.debug, this.options));","    this.parser.on('data', token => {","      debug.token(token);"],"context_line":"      handler[token.handlerName](token);","post_context":["    });","    this.parser.on('drain', () => {","      this.emit('drain');","    });","    this.parser.on('end', () => {","      this.emit('end');","    });"]},{"filename":"/home/runner/work/sentry-javascript/sentry-javascript/node_modules/tedious/lib/token/handler.js","module":"tedious.lib.token:handler","function":"Login7TokenHandler.onErrorMessage","lineno":186,"colno":19,"in_app":false,"pre_context":["    this.connection = connection;","  }","  onInfoMessage(token) {","    this.connection.emit('infoMessage', token);","  }","  onErrorMessage(token) {","    this.connection.emit('errorMessage', token);"],"context_line":"    const error = new _errors.ConnectionError(token.message, 'ELOGIN');","post_context":["    const isLoginErrorTransient = this.connection.transientErrorLookup.isTransientError(token.number);","    if (isLoginErrorTransient && this.connection.curTransientRetryCount !== this.connection.config.options.maxRetriesOnTransientErrors) {","      error.isTransient = true;","    }","    this.connection.loginError = error;","  }","  onSSPI(token) {"]}]},"mechanism":{"type":"onuncaughtexception","handled":false}}]},"event_id":"3f2c0f09bec345f8972a9ab81c093bbe","level":"fatal","platform":"node","contexts":{"trace":{"trace_id":"bbbd82ae0d674bf690f3f86e85c7f603","span_id":"904855caf7484af9"},"runtime":{"name":"node","version":"v18.20.5"},"app":{"app_start_time":"2025-02-27T21:14:58.550Z","app_memory":104890368},"os":{"kernel_version":"5.15.0-1079-azure","name":"Ubuntu Linux","version":"20.04"},"device":{"boot_time":"2025-02-27T21:00:39.435Z","arch":"x64","memory_size":16768323584,"free_memory":14061731840,"processor_count":4,"cpu_description":"AMD EPYC 7763 64-Core Processor","processor_frequency":3242},"culture":{"locale":"en-US","timezone":"UTC"},"cloud_resource":{}},"server_name":"fv-az1150-349","timestamp":1740690899.488,"environment":"production","release":"1.0","sdk":{"integrations":["InboundFilters","FunctionToString","LinkedErrors","RequestData","Console","Http","NodeFetch","OnUncaughtException","OnUnhandledRejection","ContextLines","LocalVariables","Context","ChildProcess","ProcessSession","Modules","Express","Fastify","Graphql","Mongo","Mongoose","Mysql","Mysql2","Redis","Postgres","Hapi","Koa","Connect","Tedious","GenericPool","Kafka","Amqplib","LruMemoizer","VercelAI"],"name":"sentry.javascript.node","version":"9.2.0","packages":[{"name":"npm:@sentry/node","version":"9.2.0"}]},"modules":{"semver":"7.6.3","shimmer":"1.2.1","require-in-the-middle":"7.2.0","resolve":"1.22.8","is-core-module":"2.13.0","has":"1.0.3","function-bind":"1.1.2","debug":"4.4.0","supports-color":"7.2.0","has-flag":"4.0.0","ms":"2.1.3","module-details-from-path":"1.0.3","import-in-the-middle":"1.13.0","forwarded-parse":"2.1.2","tedious":"18.6.1","tslib":"2.8.1","uuid":"8.3.2","jsonwebtoken":"9.0.2","safe-buffer":"5.2.1","buffer-equal-constant-time":"1.0.1","ecdsa-sig-formatter":"1.0.11","lodash.includes":"4.3.0","lodash.isboolean":"3.0.3","lodash.isinteger":"4.0.4","lodash.isnumber":"3.0.3","lodash.isplainobject":"4.0.6","lodash.isstring":"4.0.1","lodash.once":"4.1.1","open":"8.4.2","is-wsl":"2.2.0","is-docker":"2.2.1","define-lazy-prop":"2.0.0","sprintf-js":"1.1.3","js-md4":"0.3.2","native-duplexpair":"1.0.0","process":"0.11.10","inherits":"2.0.4","iconv-lite":"0.6.3","safer-buffer":"2.1.2"}}]

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants